package com.chushouya.order.dto.admin.paymentlog;

import com.general.framework.core.schema.PageRequest;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

/**
 * 支付日志查询条件
 */
@Data
@EqualsAndHashCode(callSuper = true)
public class PaymentLogQuery extends PageRequest {

    @ApiModelProperty("支付日志ID")
    private Long logId;

    @ApiModelProperty("订单ID")
    private Long orderId;

    @ApiModelProperty("订单ID列表")
    private List<Long> orderIdList;

    @ApiModelProperty("订单编号")
    private String orderNo;

    @ApiModelProperty("商户转账单号")
    private String outBizNo;

    @ApiModelProperty("支付宝转账单号")
    private String tradeNo;

    @ApiModelProperty("支付渠道")
    private String payChannel;

    @ApiModelProperty("支付渠道列表")
    private List<String> payChannelList;

    @ApiModelProperty("支付类型")
    private String payType;

    @ApiModelProperty("支付类型列表")
    private List<String> payTypeList;

    @ApiModelProperty("支付状态：0=待支付，1=支付成功，2=支付失败")
    private Boolean status;

    @ApiModelProperty("支付状态列表")
    private List<Boolean> statusList;

    @ApiModelProperty("支付账号ID")
    private String openId;

    @ApiModelProperty("支付金额最小值")
    private BigDecimal payAmountMin;

    @ApiModelProperty("支付金额最大值")
    private BigDecimal payAmountMax;

    @ApiModelProperty("创建时间开始")
    private Date createTimeStart;

    @ApiModelProperty("创建时间结束")
    private Date createTimeEnd;

    @ApiModelProperty("更新时间开始")
    private Date updateTimeStart;

    @ApiModelProperty("更新时间结束")
    private Date updateTimeEnd;

    @ApiModelProperty("关键词搜索（订单号、商户单号、支付宝单号、支付账号）")
    private String keyword;
}
